1. Field of the Invention
The present invention relates to a texture mapping apparatus, method and program, in which texture data acquired or generated under different conditions is subjected to processes such as adaptive selection and correction, based on control data such as physical laws, and is then mapped onto CG model data.
2. Description of the Related Art
In recent years, three-dimensional computer graphics (CG) techniques have progressed rapidly, enabling realistic graphics rendering as if live-action imaging has been captured. However, much high-quality CG imaging in movies and TV programs is created by low-level manual procedures by animators, and hence requires enormous cost. It is certain that there will be a demand for a further variety of CG content. To meet the demand, it is necessary to produce high-quality CG imaging easily and cheaply.
In CG representation, it is considered particularly difficult to render pliant materials such as cloth, skin and fur. With such materials, it is very important to express changes in the color of the surface or self-shadowing, which are caused by changes in the viewing direction or illumination direction.
Because of this, a method for photographing an actual material and reproducing the characteristics of the material to produce a realistic CG image has recently been utilized. Concerning the rendering of a surface texture depending on the viewing and illumination directions, research into modeling methods, called bidirectional reference distribution function (BRDF), bidirectional texture function (BTF) and polynomial texture maps (PTM) has been advanced. (See, for example, Dana et al., “Reflectance and Texture of Real-World Surfaces”, ACM Transaction on Graphics, 18(1):1-34, 1999.) These methods employ the analysis of acquired data to extract a function model. However, in such conversion into a functional model, there is a limit on the rendering of the irregular self-shadowing or brightness changes of a real material, and many problems remain involved.
An alternative approach has been proposed which involves maintaining acquired data as texture data, selecting appropriate data therefrom depending on parameters such as viewing and illumination directions, and mapping the selected texture data onto model data. (See, for instance, Y. Yamauchi, M. Sekine, S. Yanagawa, “Bidirectional Texture Mapping for Realistic Cloth Rendering”, ACM SIGGRAPH2003 sketch, 2003.) Although this method can render irregular changes that cannot be rendered by functional modeling, it requires an enormous amount of texture data to accurately render textures.
Because of the limitations of the above approaches, several methods have been proposed for realistically rendering the surface of a CG model, using a minimal amount of data.
However, to realistically render a CG model surface, it is necessary to simulate mechanical changes in the surface caused by factors such as deformation, expansion and contraction, and changes in the condition of the surface due to aging, and changes in color or self-shadowing caused by variations in viewing/illumination position. If texture data corresponding to all changes is generated, the required amount of data is considerable. Further, if a variety of simulations are used for rendering such changes, the methods for storing, selecting and mapping data become very complex.
Therefore, it is necessary to develop a texture mapping apparatus capable of efficiently controlling complex processing, and realizing high-quality CG imaging using a minimal amount of data.
When rendering the surface characteristics of a material that vary according to numerous conditions, using texture data, an enormous number of texture images acquired or created under such different conditions are necessary. Currently used systems cannot store and process such an enormous number of texture images.
Furthermore, when the amount of data is increased in accordance with the viewing and illumination conditions and various other conditions, it is very difficult to manage the memory used to store the increased amount of data, and the texture data selecting/mapping methods become very complex.